#include "windows.h"
#include "imageloader.h"
#include <string>
#include <vector>

#ifdef __APPLE__
#include <GLUT/glut.h>
#else
#include <GL/glut.h>
#endif

#pragma once

class TextureDrawer{
public:
	std::vector<Image*> images;
	std::vector<GLuint> textureIds;
	int numOfTextures;

	TextureDrawer(std::vector<Image*> i, std::vector<GLuint> t, int count);
	~TextureDrawer();

	GLuint loadTexture(Image* image);	
	void initRendering();
	void enable2DTexturing(int id);
	void disable2DTexturing();
	void drawTexturedCube(int id, GLfloat size);
	void drawTexturedSphere(int id, GLdouble radius, GLint slices, GLint stacks);
	void drawTexturedTorus(int id, GLdouble innerRadius, GLdouble outerRadius, GLint nsides, GLint rings);
	void drawTexturedCone(int id, GLdouble base, GLdouble height, GLint slices, GLint stacks);
};